package stream;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/**
 * @Author com.alibaba.lizhen
 * @Date 2021/3/24 11:05 上午
 * @Version 1.0
 * @Description
 *  * 创建stream
 *  * 中间操作（过滤、map）
 *  * 终止操作
 */
public class StreamApiTest1 {
    /**
     * 流的创建
     */
    @Test
    public void test1() {

        // 1，校验通过Collection 系列集合提供的stream()或者paralleStream()
        List<String> list = new ArrayList<>();
        Stream<String> stream1 = list.stream();

        // 2.通过Arrays的静态方法stream()获取数组流
        String[] str = new String[10];
        Stream<String> stream2 = Arrays.stream(str);

        // 3.通过Stream类中的静态方法of
        Stream<String> stream3 = Stream.of("aa", "bb", "cc");

        // 4.创建无限流
        // 迭代，无限迭代
        Stream<Integer> stream4 = Stream.iterate(0, (x) -> x + 2);
        stream4.limit(2).forEach(System.out::println);
        //生成
        Stream<Double> generate = Stream.generate(Math::random);
        generate.limit(5).forEach(System.out::println);


    }

}
